package band.wukong.practice.javase.core.net;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * V1: 单个客户端可以，多个就出错
 * User: Johnson
 * Date: 2012-8-24 15:55:22
 * To change this template use File | Settings | File Templates.
 */
public class ServerV1 {

    public static void main(String[] args) throws IOException {
        //注意：端口的分配必须是唯一的，因为端口是为了唯一标识每台计算机唯一服务的。
        //另外，端口号是从0~65535之间的,前1024个端口已经被Tcp/Ip 作为保留端口。
        //因此，你所分配的端口只能是1024个之后的

        //1.创建ServerSocket
        ServerSocket server = new ServerSocket(5678);

        //2.开始监听，并获得对应Socket client
        Socket client = server.accept();

        //3.获得并包装输入
        BufferedReader in =
                new BufferedReader(
                        new InputStreamReader(client.getInputStream()));

        //4.获得并包装输入
        PrintWriter out = new PrintWriter(client.getOutputStream());

        //5.开搞！
        while (true) {
            String str = in.readLine();
            System.out.println(str);
            out.println("received content: " + str);
            out.flush();
            if (str.equals("end"))
                break;
        }

        //6.打完收工
        client.close();
    }
    
}
